KeyTransformV3
THE EDGE: one row per (transit, childKey, parentKey) pair - a scatter is 1 parent x N children, a gather N x 1, a triangular merger M x N with per-pair terms. THE TABLE IS A DIFF: the identity edge (self-parent, 1:1, no cash) is NEVER stored - the only reason key-level lineage is affordable at options-chain scale. Lineage is a DAG by construction: edges point back exactly one period
METADATA
| Attribute | Value |
|---|---|
| Topic | 9100-product-def-core |
| MLink Token | EquityDefinition |
| Product | SRReference |
| accessType | SELECT |
| MLink Endpoint | MLink-Live |
Table Definition
| Field | Type | Key | Default Value | Comment |
|---|---|---|---|---|
| transitDate | DATE | PRI | '1900-01-01' | the TD1 boundary the edge crosses INTO |
| childKey_at | enum - AssetType | PRI | 'None' | empty on Destroy the position ends in cash |
| childKey_ts | enum - TickerSrc | PRI | 'None' | empty on Destroy the position ends in cash |
| childKey_tk | VARCHAR(12) | PRI | '' | empty on Destroy the position ends in cash |
| childKey_yr | SMALLINT UNSIGNED | PRI | 0 | empty on Destroy the position ends in cash |
| childKey_mn | TINYINT UNSIGNED | PRI | 0 | empty on Destroy the position ends in cash |
| childKey_dy | TINYINT UNSIGNED | PRI | 0 | empty on Destroy the position ends in cash |
| childKey_xx | DOUBLE | PRI | 0 | empty on Destroy the position ends in cash |
| childKey_cp | enum - CallPut | PRI | 'Call' | empty on Destroy the position ends in cash |
| parentKey_at | enum - AssetType | PRI | 'None' | empty on Create |
| parentKey_ts | enum - TickerSrc | PRI | 'None' | empty on Create |
| parentKey_tk | VARCHAR(12) | PRI | '' | empty on Create |
| parentKey_yr | SMALLINT UNSIGNED | PRI | 0 | empty on Create |
| parentKey_mn | TINYINT UNSIGNED | PRI | 0 | empty on Create |
| parentKey_dy | TINYINT UNSIGNED | PRI | 0 | empty on Create |
| parentKey_xx | DOUBLE | PRI | 0 | empty on Create |
| parentKey_cp | enum - CallPut | PRI | 'Call' | empty on Create |
| seq | TINYINT UNSIGNED | PRI | 0 | composition within one transit split rename share a boundary each seq references its own action |
| actionKey | VARCHAR(16) | '' | CorpActionDefinition the ONE event this edge serves | |
| op | enum - TransformOp | 'None' | Create Destroy Scatter Gather Adjust Rename Adjust character change under a preserved key the splits selfedge a dividends 11 selfedge with cash Rename 11 identity terms | |
| shareRatioNum | INT | 0 | ||
| shareRatioDen | INT | 0 | ||
| basisAllocPct | DOUBLE | 0 | NOT the share ratio spinoff basis follows relative fair values | |
| cashPerUnit | DOUBLE | 0 | the cash leg per parent unit dividends redemptions cashinlieu cash elections default | |
| isOverride | enum - YesNo | 'None' | ||
| note | TINYTEXT | '' | ||
| v3Source | enum - V3Source | 'None' | ||
| timestamp | DATETIME(6) | '1900-01-01 00:00:00.000000' | ||
| cashCurrency | VARCHAR(3) | '' | currency of cashPerUnit empty when there is no cash leg |
PRIMARY KEY DEFINITION (Unique)
| Field | Sequence |
|---|---|
| transitDate | 1 |
| childKey_tk | 2 |
| childKey_yr | 3 |
| childKey_mn | 4 |
| childKey_dy | 5 |
| childKey_xx | 6 |
| childKey_cp | 7 |
| childKey_at | 8 |
| childKey_ts | 9 |
| parentKey_tk | 10 |
| parentKey_yr | 11 |
| parentKey_mn | 12 |
| parentKey_dy | 13 |
| parentKey_xx | 14 |
| parentKey_cp | 15 |
| parentKey_at | 16 |
| parentKey_ts | 17 |
| seq | 18 |
SELECT TABLE EXAMPLE QUERY
SELECT *
FROM `SRReference`.`MsgKeyTransformV3`
WHERE
/* Replace with a DATE */
`transitDate` = '2022-01-01'
AND
/* Replace with a ENUM('None','EQT','IDX','BND','CUR','COM','FUT','SYN','WAR','FLX','MUT','SPD','MM','MF','COIN','TOKEN','ANY','RATE','CRDT','GCR','SWAP','ENT','MBS','SET','LOAN') */
`childKey_at` = 'NONE'
AND
/* Replace with a ENUM('None','SR','NMS','CME','ICE','CFE','CBOT','NYMEX','COMEX','RUT','CIDX','ARCA','NYSE','OTC','NSDQ','MFQS','MIAX','DJI','CUSIP','ISIN','BXE','SCE','ANY','CXE','DXE','NXAM','NXBR','NXLS','NXML','NXOS','NXP','EUREX','CEDX','ICEFEC','ICEFEF','CEQT','TSX','TMX','CRCY','CMDY','DTI','SOVN','SR_US','SR_EU','SR_AP','SR_UK','USD','EUR','GBP','CHF','JPY','CAD','AUD','HKD','KRW','INR','SGD','TWD','CNY','CNH','BRL','MXN','ZAR','SEK','NOK','DKK','PLN','ILS','TRY','NZD','THB','MYR','IDR','PHP','CZK','HUF','SAR','AED','CLP','COP') */
`childKey_ts` = 'NONE'
AND
/* Replace with a VARCHAR(12) */
`childKey_tk` = 'Example_childKey_tk'
AND
/* Replace with a SMALLINT UNSIGNED */
`childKey_yr` = 123
AND
/* Replace with a TINYINT UNSIGNED */
`childKey_mn` = 1
AND
/* Replace with a TINYINT UNSIGNED */
`childKey_dy` = 1
AND
/* Replace with a DOUBLE */
`childKey_xx` = 4.56
AND
/* Replace with a ENUM('Call','Put','Pair') */
`childKey_cp` = 'CALL'
AND
/* Replace with a ENUM('None','EQT','IDX','BND','CUR','COM','FUT','SYN','WAR','FLX','MUT','SPD','MM','MF','COIN','TOKEN','ANY','RATE','CRDT','GCR','SWAP','ENT','MBS','SET','LOAN') */
`parentKey_at` = 'NONE'
AND
/* Replace with a ENUM('None','SR','NMS','CME','ICE','CFE','CBOT','NYMEX','COMEX','RUT','CIDX','ARCA','NYSE','OTC','NSDQ','MFQS','MIAX','DJI','CUSIP','ISIN','BXE','SCE','ANY','CXE','DXE','NXAM','NXBR','NXLS','NXML','NXOS','NXP','EUREX','CEDX','ICEFEC','ICEFEF','CEQT','TSX','TMX','CRCY','CMDY','DTI','SOVN','SR_US','SR_EU','SR_AP','SR_UK','USD','EUR','GBP','CHF','JPY','CAD','AUD','HKD','KRW','INR','SGD','TWD','CNY','CNH','BRL','MXN','ZAR','SEK','NOK','DKK','PLN','ILS','TRY','NZD','THB','MYR','IDR','PHP','CZK','HUF','SAR','AED','CLP','COP') */
`parentKey_ts` = 'NONE'
AND
/* Replace with a VARCHAR(12) */
`parentKey_tk` = 'Example_parentKey_tk'
AND
/* Replace with a SMALLINT UNSIGNED */
`parentKey_yr` = 123
AND
/* Replace with a TINYINT UNSIGNED */
`parentKey_mn` = 1
AND
/* Replace with a TINYINT UNSIGNED */
`parentKey_dy` = 1
AND
/* Replace with a DOUBLE */
`parentKey_xx` = 4.56
AND
/* Replace with a ENUM('Call','Put','Pair') */
`parentKey_cp` = 'CALL'
AND
/* Replace with a TINYINT UNSIGNED */
`seq` = 1;
Doc Columns Query
SELECT * FROM SRReference.doccolumns WHERE TABLE_NAME='KeyTransformV3' ORDER BY ordinal_position ASC;